// import axios from 'axios';
// // const instance=axios.react({
// //     baseUrl:'http://localhost:8000',
// //     timeOut:5000
// // });
// // 添加请求拦截器
// axios.interceptors.request.use(function (config) {
//      httpFetch.checkoutToken();
//     // // 在发送请求之前做些什么
//     // if(loginServer.getToken){
//     // config['Authorization']="Bear "+loginServer.getToken();
//     // }else{
//     //     Promise.reject('401')
//     // }
//     return config;
//   }, 
//   );

// // 添加响应拦截器
// axios.interceptors.response.use(
//   function (response) {
//   window.sessionStorage.setItem(
//     'LastRequestDate',
//     moment(new Date()).format('YYYY-MM-DD hh:mm:ss')
//   );
//     // 对响应数据做点什么
//     return response;

//   }, async function (error) {
//     if (error.response && error.response.status == 401) {
//       // 连续刷新三次token 就跳回登录页面
//       if (requestCount >= 6) {
//         requestCount = 0;
//         message.error('服务器出现错误，请稍后重试...');
//         window.g_app._store.dispatch({
//           type: '/login',
//         });
//         error.response.status = 500;
//         return Promise.reject(error);
//       }
//       requestCount++;
//       await httpFetch.refreshToken();
//       const { config } = error;
//       return httpFetch[config.method](config.url, config.params, config.headers);
//     } else {
//       requestCount = 0;
//     }

//     return Promise.reject(error);
//   }
//   );

//   const httpFetch = {
//     get(url, params, header = {}, options = {}) {
//       const option = {
//         ...options,
//         url: url,
//         method: 'GET',
//         headers: {
//           Authorization: `Bearer ${window.sessionStorage.getItem('token')}`,
//         },
//         params
//       };
//       return axios(option);
//     },
//     post(url, data, header = {}, options = {}) {
//       let params = {};
//       const option = {
//         ...options,
//         url: baseUrl + url,
//         method: 'POST',
//         headers: {
//           Authorization: `Bearer ${window.sessionStorage.getItem('token')}`,
//         },
//         data,
//         params
//       };
//       return axios(option);
//     },
//     put(url, data) {
//       let params = {};
//       const option = {
//         url: url,
//         method: 'PUT',
//         headers: {
//           Authorization: `Bearer ${window.sessionStorage.getItem('token')}`,
//         },
//         data,
//         params
//       };
//       return axios(url, option);
//     },
//     delete(url, data) {
//       let params = {};
//       const option = {
//         method: 'DELETE',
//         headers: {
//           Authorization: `Bearer ${window.sessionStorage.getItem('token')}`,
//         },
//         data,
//         params
//       };
//       return axios(url, option);
//     },
//     // 刷新token
//   refreshToken() {
//     console.error('refreshToken');
//     return new Promise((resolve, reject) => {

//       const refreshParams = `client_id=ArtemisWeb&client_secret=nLCnwdIhizWbykHyuZM6TpQDd7KwK9IXDK8LGsa7SOW&refresh_token=${window.sessionStorage.getItem(
//         'refresh_token'
//       )}&grant_type=refresh_token`;

//       return axios(encodeURI(`auth/oauth/token?${refreshParams}`), {
//         method: 'POST',
//         headers: {
//           'x-helios-client': 'web',
//           'Content-Type': 'application/x-www-form-urlencoded',
//           Authorization: `Bearer ${window.sessionStorage.getItem('token')}`,
//         },
//       })
//         .then(response => {
//           const token = response.data;
//           window.sessionStorage.setItem('token', token.access_token);
//           window.sessionStorage.setItem('refresh_token', token.refresh_token);
//           resolve();
//         })
//         .catch(err => {
//           window.g_app._store.dispatch({
//             type: '/login', 
//           });
//         });
//     });
//   },

//   // 检查token是否失效，如果失效就跳到登录页面
//   checkoutToken() {
//     const currentDate = new Date(moment(new Date()).format('YYYY-MM-DD hh:mm:ss'));

//     const lastDate = new Date(window.sessionStorage.getItem('LastRequestDate') || currentDate);

//     const span = currentDate.getTime() - lastDate.getTime();

//     if (span > InvalidTime * 1000) {
//       window.g_app._store.dispatch({
//         type: 'login/logout',
//       });
//       return true;
//     }
//   },

//   }
//   export default httpFetch;
